Repository navigation
feat(qt): bounded selection auto-scroll across history - #327
JavaZeroo-Bot wants to merge 8 commits into
Conversation
While a left-drag selection is held outside the visible grid, a bounded Qt timer scrolls HistoryViewport by one row per tick and re-extends the selection to the edge source position. The default scrollbar, painted highlights and Copy all consume the same source range. Drag back inside, release, focus loss, hide, unrelated resize and session close stop the timer; no stale selection is revived. No new history/selection model or performance threshold is added. Add a formal test with two real fixed-ConPTY children: up/down bounded ticks (one row per tick), exact source copy through an injected writer, drag-back, release, focus-loss and session isolation. The existing scrollbar remains enabled in this test.
#327 离线诊断与失败归档(未重跑)故障指纹: 尝试账本(已发生执行,不再重跑)
首次失败后 4 次实际重跑,授权 1 次恢复已耗尽;不因改名/改期望/回退源码/新 heartbeat 重置。 保全产物
观察/假设
静态事实:产品鼠标端点从 假设(支持度):H1 高—显示行/source 行坐标用错导致起点偏移;H2 中—异步追加/viewport reconcile 改变采样 top/锚点;H3 中—tick 启动/采样窗口与 expected ticks 不一致;H4 未验证—产品端点在边缘确实选错源行。无证据定论,不能改产品。 可审批恢复计划(未执行)固定 1200×900、等待 1–180+prompt settled、阶段内禁止异步追加;用公开滚动条/键盘停在已知 当前PR #327 blocked;head ac5dd4f 的 10/10 CI、本地 12/12只覆盖已有内部一致性。未执行:独立 oracle、软/宽/结合、协调缩窄/恢复、追加/淘汰/ED3/RIS 联合、Find/滚动条、正确 child 输入独立接收。未动 #324/BCD/v2/个人 CF/未跟踪文件;未触发 Codex review。 |
#327 恢复协议 v2(离线提案,未执行;替代旧提案)旧提案(PR #327 comment 6709720960)已被本协议替代。基线仍为 head 1. 固定输入与 settled
2. 非滚动 sanity(公开鼠标)
3. 1-tick 自动滚动(默认 40ms,公开事件)
4. 授权边界一次授权只覆盖一次完整最小验证:settled 定位 + 非滚动 sanity + 指定 1-tick 路径;首失败即停。通过也不代表软/硬、宽/结合、缩窄/恢复、追加/淘汰/ED3/RIS、Find/滚动条、正确 child 输入完成,不关闭 #29/#30/R2;后续另行授权,不扩大同故障额度。 5. Unknown(不预填运行观察)
本地未提交文件: |
…ocol Co-authored-by: JavaZeroo <71128095+JavaZeroo@users.noreply.github.com>
…ecord-hidden-retention-2e7373117ea0 Union both sides: keep the bounded autoscroll Qt target/CTest entry and the #324 system paste, #333 BCD fixtures, #330/#331 packaging and #328 eight-session capabilities with their assertions. Co-authored-by: JavaZeroo <71128095+JavaZeroo@users.noreply.github.com>
The standalone literal oracle failure up-reverse is diagnosed offline as a fixture construction error: its expected range modelled only the up phase while the committed scenario checks after a subsequent down phase that flips the selection to [anchor, bottom+down_ticks]. The product keeps its HistoryViewport/ViewMapping/TextSelection behavior unchanged. The recovery protocol v2 binary is deliberately not registered in CTest: it requires the explicit --literal-v2 flag plus the owned Job supervisor so CTest/push/PR runs can never spend the single authorized budget. Co-authored-by: JavaZeroo <71128095+JavaZeroo@users.noreply.github.com>
…cause Co-authored-by: JavaZeroo <71128095+JavaZeroo@users.noreply.github.com>
|
@JavaZeroo-Bot 调度核验:#327 head578675251f13c032eec0ac9e2473df8449fd1137 未合并。新增v2唯一运行已消耗1/1,失败在历史行活性门,settled/sanity/tick均未执行;原始supervisor exit1、active0已读回。追加运行请求已转用户,尚无答复,不重跑也不把未进协议当未消耗额度。当前head9项CI成功、Qt push run43124023417/job130871415796失败;另一Qt成功不能替代该失败。qt_find的“evicted source hit was resurrected”登记为独立待K3诊断项,不盲目重跑、不称flaky,不削弱断言。更新PR正文到当前head/失败/预算事实即可,本条仅状态收尾,不启动开发或额外K3;新开发槽转 #30 IME,由其单独派单。 |
|
用户已在调度会话明确答复“允许修正后再运行一次”。记录 #327 新增一次修正运行授权:仅将初始历史行活性门160改100,保留结束marker、500ms稳定窗、固定8/18字节字面预期和默认40ms时钟;首失败停止。此前K3 v2失败仍计已执行1/1,本次额外授权单独计1、已执行0,不重置历史账本。 这是授权入队记录,不是立即派单:当前唯一开发槽用于 #30/#155 IME,先完成/停稳该任务。#327后续由调度者明确派发,再由K3修复并执行;不因本评论启动或唤醒第二K3/worker。当前qt_find CI失败独立保留,须诊断和满足当前head检查后才能合并。本授权不放宽任何验收或允许无限重跑。 |
#327 新增修正运行授权入队记录用户已在调度会话明确答复“允许修正后再运行一次”。本条仅记录授权入队,不是立即派单、不启动第二 K3/worker,也不表示已执行。
|
背景
#29 仍缺 Qt 历史拖选自动滚动;Win32 R1-03 合同为“稳定行列选区、拖出可见区有界自动划动”。本切片迁移到正式 Qt,复用现有 HistoryViewport/ViewMapping/TextSelection,不新增历史/选择模型。
内容
HistoryViewport::scroll_by滚动 1 源行,并把选区端点重新扩展到边缘源位置;高亮与 Copy 使用同一源范围。当前状态(2026-11-12,blocked,不宣称完成)
578675251f13c032eec0ac9e2473df8449fd1137(已正常合并 main0493076f的 feat(qt): add bounded system paste entries #324/research(ui): fix BCD calibration peer dual-axis resize contract (#29) #333 等能力,未 force push、未改写历史),PR 未合并。43124023417/ job130871415796,qt_find报evicted source hit was resurrected。另一份 Qt job 成功不能替代该失败;不把该失败称为 flaky,不重跑、不削弱断言,已登记为独立待 K3 诊断项。history_lines>=160不可达),settled/sanity/1-tick 协议路径 0 步执行;原始 supervisor exit1、job_after.active=0已读回。追加执行请求已转用户、尚无答复;不重跑,也不把“未进入协议”当作未消耗额度。旧 5 次失败/4 次重跑账本保留。pr327-literal-oracle-up-reverse的 K3 离线诊断为夹具构造错误:字面 oracle 只建模 up 阶段,但提交场景在check_exact前执行了 down 拖选,选区翻转为[anchor行, 底部+down ticks],actualTF_H_143..159与机制吻合;产品零改动,HistoryViewport/ViewMapping/TextSelection/源身份不变。相关诊断/ledger 已入库,待最终复核。边界
离屏;Copy 为注入 writer 非真实 CF;不含选词/选行/矩形/TUI/持久化/性能阈值。不关闭 #29/#30/R2;#324 未授权重试;BCD/v2/未跟踪文件不动;未触发 Codex review。